package psn.hui.sys.service;

import java.util.List;

import psn.hui.sys.domain.Role;
import psn.hui.sys.domain.User;
import psn.hui.sys.vo.UserVo;

/**
 * 	用户服务接口
 * @author hui
 *
 */
public interface UserService {
	/**
	 * 	用户登录
	 * @param userVo
	 * @return
	 */
	User login(UserVo userVo);
	/**
	 * 	条件查询用户
	 * @param user
	 * @return
	 */
	List<User> queryAllUserForList(User user);
	/**
	 * 	添加用户，初始化默认参数
	 * @param record
	 * @return
	 */
	int insertSelective(User record);
	/**
	 * 	修改用户
	 * @param record
	 * @return
	 */
	int updateByPrimaryKeySelective(User record);
	/**
	 * 	删除用户，关联删除角色用户关系
	 * @param id
	 * @return
	 */
	int deleteById(Integer id);
	/**
	 * 	批量删除用户
	 * @param ids
	 * @return
	 */
	int batchDeleteUserByIds(Integer[] ids);
	/**
	 * 	重置用户密码
	 * @param userid
	 * @return
	 */
	int resetUserPwd(Integer userid);
	/**
	 * 	检查loginname是否可用（不重复）
	 * @param loginname
	 * @return
	 */
	int checkLoginName(String loginname);
	/**
	 * 	保存分配用户角色数据（用户角色关系表）,会先删除该用户旧的分配数据
	 * @param userVo
	 * @return
	 */
	int saveUserRole(UserVo userVo);
	
	/**
	 * 	用户修改密码
	 * @param user
	 * @param password
	 * @return
	 */
	boolean changePwd(User user, String password);
	
}
